<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body></body>
</html>

<script>
  /* 英文：
  defined - 定义
*/

  /* 
  今日 第一重点：「变量」 - variable。

  
  变量的作用：
    -> 变量，被用于存储「数据」。
    （变量 类比为“杯子”， 杯子中的 “水” 类比为 数据）。


  变量的写法（又可以叫做 `定义变量/声明变量`）
    ->  `var 变量名 = 数据`。
    解读：将 数据 赋值 给 变量名。


  变量名的命名「规则」：
    1. 变量名必须由： 字母、数字、_、$       四种的组合。
    2. 变量名，不能以数字开头（即数字可以是 变量名，除了开头的 任何位置）。
    3. 严格 区分 「大小写」 
    4. 变量名，不能用 `关键字` 和 `保留字` 命名。
      注： 举例： `var` 就是 关键字。

      什么叫「规则（法律层面）」：即 不按照规则 命名变量，会「报错」。


  变量名的命名「规范」：
    1. 变量名要有意义（「语义化」，即 见名知意）。
    2. 驼峰命名（若 一个变量名，由多个单词组成，则 后续单词首字母大写）
        注：JS 变量命名规则，是「小驼峰」。
    3. 变量名，不要使用中文。！！！

      什么叫「规范（道德层面）」：即建议，这么命名变量，但不这么命名不会报错。


  
  「声明语句」：
      例如： `var num = 123;`
        上述一行代码，又被称为「声明语句」。



  声明语句，计算机 底层原理 （即计算机 背后的执行逻辑）：
    `var num = 123`;  这一行本质为：（计算机 背后的执行逻辑：）
      开辟内存空间，将数字 123 以 `二进制` 形式存入其中，再将 变量名  num 指向该 内存空间。


        所以，以后： `num` 这个变量，直接代指 `123` 这个数据。

*/
  /* 驼峰命名的规范：
  规范1： 「小驼峰」：
    即变量名，从第二个单词开始，首字母大写，如： `userName`。

  规范2： 「大驼峰」：
    即变量名，从第一个单词开始，首字母都大写，如 `UserName`。
 */

  var num = 123; // `;` 表示 JS 一行代码的结束。

  var a = 123; // 从变量名上，完全不知道 该变量有 什么用！！！
  var b = 456;
  var userName = "mark";

  var 数字 = 9999; // 强调：千万不要用 中文作为 变量名！！！

  console.log(数字); // 123
  console.log(num + num); // 等同于： `123 + 123`

  // 报错信息：num is not defined
</script>
